package com.niit.session24;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class DeptDao {
	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		List<Dept> listDept = new DeptDao().listDept(sc.next());
		listDept.forEach(System.out::println);
		sc.close();
		}
	
	
//	定义一个方法，查询部门列表，要求可以通过部门名称模糊筛选，查询回来的结果要求封装到实体类中，并添加到集合中返回给调用方。
//	这个方法要干嘛？
//	做这件事需要什么参数？
//	方法需要给调用方提供什么数据？
	public List<Dept> listDept(String deptName){
		Connection conn = JDBCUtils.getConn();
		ArrayList<Dept> list = new ArrayList<Dept>();
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
			ps = conn.prepareStatement("SELECT * FROM sys_dept WHERE dept_name LIKE ?");
			ps.setString(1, "%"+deptName+"%");
			rs = ps.executeQuery();
			while (rs.next()) {
				list.add(new Dept(rs.getInt("dept_id"),rs.getString("dept_name"),rs.getString("email")));
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
			JDBCUtils.close(conn, ps, rs);
		}
		return list;
		
	}

}
